package info.motteke.mybws.utils.test;

import org.hamcrest.Matcher;
import org.hamcrest.MatcherAssert;
import org.testng.Assert;

/**
 * 単体試験で使用する検証用のメソッドを提供します。
 * 
 * @author YWak
 */
public class Asserts {

    public static <T> void assertThat(T actual, Matcher<? super T> matcher) {
        MatcherAssert.assertThat(actual, matcher);
    }

    /**
     * テストを失敗させます。
     */
    public static void fail() {
        Assert.fail();
    }

    /**
     * テストを失敗させます。
     * 
     * @param message
     *            メッセージ
     */
    public static void fail(String message) {
        Assert.fail(message);
    }

    /**
     * 同じ大きさであることを確認します。
     */
    public static <T> Matcher<T> sameSizeAs(T expected) {
        return new SameSizeMatcher<T>(expected);
    }
}
